<?php
/**
 * alltosun.com 企业模块公用函数库 company_helper.php
 * ============================================================================
 * 版权所有 (C) 2009-2011 北京互动阳光科技有限公司，并保留所有权利。
 * 网站地址: http://www.alltosun.com
 * ----------------------------------------------------------------------------
 * 许可声明：这是一个开源程序，未经许可不得将本软件的整体或任何部分用于商业用途及再发布。
 * ============================================================================
 * $Author: 韦仕达 (weisd@alltosun.com) $
 * $Date: 2012-9-20 上午11:15:35 $
 * $Id: company_helper.php 26468 2013-08-05 03:50:34Z qianym $
*/
class company_helper
{
    /**
     * 取得某组织的所有子组织
     * @param int $company_id
     */
    public static function get_company_child_ids($company_id)
    {
        $filter = array(
            'path like' => '%,'.$company_id.',%',
            'status'    => 1
        );

        return _model('company')->getFields('id', $filter, ' ORDER BY `path` ASC ');
    }

    /**
     * 取所有父级
     * @param int $company_id
     * @return array
     */
    public static function get_company_parent_ids($company_id)
    {
        static $parent_ids = array();
        if (!$company_id) {
            return $parent_ids;
        }

        $parent_id = _uri('company', $company_id, 'parent_id');
        if (!$parent_id) {
            return  $parent_ids;
        }

        array_push($parent_ids, $parent_id);
        self::get_company_parent_ids($parent_id);
    }

    /**
     * 取得企业domain
     * @param int $company_id
     * @return mixed
     */
    public static function get_company_domain($company_id)
    {
        if (!$company_id) {
            return '';
        }

        return _uri('company', (int)$company_id, 'domain');
    }

    /**
     * 取得企业信息
     * @param int $company_id
     * @return array
     */
    public static function get_company_info($company_id)
    {
        if (!$company_id) {
            return array();
        }

        return _uri('company', (int)$company_id);
    }

    /**
     * 获取当前登录的用户所属公司id
     * @return int
     */
    public static function get_company_id($user_id = 0)
    {
        static $static_get_company_id = null;
        if ($user_id) {
            $user_info = user_helper::get_user_info($user_id);
            if (!$user_info) {
                return 0;
            }

            //return $user_info['company_id'];
            return 1;
        }

        if ($static_get_company_id === null) {
            if (isset($_SESSION['company_id'])) {
                $static_get_company_id = $_SESSION['company_id'];
            } else {
                $static_get_company_id = 0;
            }
        }
        return $static_get_company_id;
    }

    /**
     * 统计公司总人数
     * @param int $company_id 公司ID
     * @return int 返回总数
     */
    public static function get_total_members($company_id)
    {
        $filter['company_id'] = intval($company_id);
        $filter['status'] = 1;

        return _model('user')->getTotal($filter);
    }

    /**
     * 取得某公司的所有人ids
     * @param int $company_id
     */
    public static function get_company_member_ids($company_id = 0)
    {
        if (!$company_id) {
            $company_id = company_helper::get_company_id();
        }

        return _model('user')->getFields('id', array('company_id'=>$company_id, 'status'=>1));
    }

    /**
     * 统计公司总文件数
     * @param int $company_id 公司ID
     * @return int 返回总数
     */
    public static function get_total_files($company_id)
    {
        $filter['company_id']        = intval($company_id);
        $filter['cooperate_file_id'] = 0;
        $filter['status'] = 1;

        return _model('file')->getTotal($filter);
    }
}
?>